# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#CSV文件的写入(按行写入)

import csv
#csv文件，是一种常用的文本格式，用以存储表格数据，很多程序在处理数据时会遇到csv格式文件


#csv文件的写入(按行写入)
def getSortedValues(row):
    sortedValues=[]#初始化为空list
    keys=row.keys()
    keys.sort()
    for key in keys:
        sortedValues.append(row[key])
    return sortedValues

rows = [{'Column1': 'xiaodeng', 'Column2': '1','Column3': '2'},
        {'Column1': 'fengmei', 'Column2': '3', 'Column3': '4'},
        {'Column1': 'xiaochen', 'Column2': '5','Column3': '6'},
        {'Column1': 'xiaodong', 'Column2': '1','Column3': '2'},
        {'Column1': 'xiaowang', 'Column2': '1','Column3': '2'}]

names={'Column1':'名字', 'Column2':'栏目2', 'Column3':'栏目3'}


#以写入的方式打开文件
fileobj=open('test.csv','wb')#注意是wb


# fileobj.write('\xEF\xBB\xBF')#该语句解决中文乱码问题


#可以理解为初始化
writer = csv.writer(fileobj)#csv.writer(fileobj)返回writer对象writer


#先写入头信息
sortedValues = getSortedValues(names)
#writerow()方法是一行一行写入，
#writerows方法是一次写入多行
writer.writerow(sortedValues)


#将数据逐行写入
for row in rows:
    sortedValues = getSortedValues(row)
    print(sortedValues)
    writer.writerow(sortedValues)